home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / xdk_dev.jar / a / ANTLRHashString.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-12-15  |  1.3 KB  |  100 lines

  1. package a;
  2.  
  3. public class ANTLRHashString {
  4.    // $FF: renamed from: a java.lang.String
  5.    private String field_0;
  6.    // $FF: renamed from: b char[]
  7.    private char[] field_1;
  8.    // $FF: renamed from: c int
  9.    private int field_2;
  10.    // $FF: renamed from: d a.CharScanner
  11.    private CharScanner field_3;
  12.    // $FF: renamed from: e int
  13.    private static final int field_4 = 151;
  14.  
  15.    public ANTLRHashString(char[] var1, int var2, CharScanner var3) {
  16.       this.field_3 = var3;
  17.       this.setBuffer(var1, var2);
  18.    }
  19.  
  20.    public ANTLRHashString(CharScanner var1) {
  21.       this.field_3 = var1;
  22.    }
  23.  
  24.    public ANTLRHashString(String var1, CharScanner var2) {
  25.       this.field_3 = var2;
  26.       this.setString(var1);
  27.    }
  28.  
  29.    // $FF: renamed from: a (int) char
  30.    private final char method_0(int var1) {
  31.       return this.field_0 != null ? this.field_0.charAt(var1) : this.field_1[var1];
  32.    }
  33.  
  34.    public boolean equals(Object var1) {
  35.       if (!(var1 instanceof ANTLRHashString) && !(var1 instanceof String)) {
  36.          return false;
  37.       } else {
  38.          ANTLRHashString var2;
  39.          if (var1 instanceof String) {
  40.             var2 = new ANTLRHashString((String)var1, this.field_3);
  41.          } else {
  42.             var2 = (ANTLRHashString)var1;
  43.          }
  44.  
  45.          int var3 = this.method_1();
  46.          if (var2.method_1() != var3) {
  47.             return false;
  48.          } else {
  49.             if (this.field_3.getCaseSensitiveLiterals()) {
  50.                for(int var4 = 0; var4 < var3; ++var4) {
  51.                   if (this.method_0(var4) != var2.method_0(var4)) {
  52.                      return false;
  53.                   }
  54.                }
  55.             } else {
  56.                for(int var5 = 0; var5 < var3; ++var5) {
  57.                   if (this.field_3.toLower(this.method_0(var5)) != this.field_3.toLower(var2.method_0(var5))) {
  58.                      return false;
  59.                   }
  60.                }
  61.             }
  62.  
  63.             return true;
  64.          }
  65.       }
  66.    }
  67.  
  68.    public int hashCode() {
  69.       int var1 = 0;
  70.       int var2 = this.method_1();
  71.       if (this.field_3.getCaseSensitiveLiterals()) {
  72.          for(int var3 = 0; var3 < var2; ++var3) {
  73.             var1 = var1 * 151 + this.method_0(var3);
  74.          }
  75.       } else {
  76.          for(int var4 = 0; var4 < var2; ++var4) {
  77.             var1 = var1 * 151 + this.field_3.toLower(this.method_0(var4));
  78.          }
  79.       }
  80.  
  81.       return var1;
  82.    }
  83.  
  84.    // $FF: renamed from: a () int
  85.    private final int method_1() {
  86.       return this.field_0 != null ? this.field_0.length() : this.field_2;
  87.    }
  88.  
  89.    public void setBuffer(char[] var1, int var2) {
  90.       this.field_1 = var1;
  91.       this.field_2 = var2;
  92.       this.field_0 = null;
  93.    }
  94.  
  95.    public void setString(String var1) {
  96.       this.field_0 = var1;
  97.       this.field_1 = null;
  98.    }
  99. }
  100.